查看原文
其他

【第2096期】前端技术未来三年前瞻性思考

云谦 前端早读课 2020-10-24

前言

距离2021年就剩2个月了,今年的前端领域你有什么印象么?今日早读文章由蚂蚁金服@云谦授权分享。

正文从这开始~~

习惯从业务场景、用户体验、研发速度、维护成本四个维度来看框架等前端技术,大部分的技术点都能找到合适的位置,解的问题是如何快速上线和维护满足业务的好用的产品。

业务场景

这部分解从框架的角度看业务需要。

框架负责,
  • 对接后后端框架

  • 对接输出环节,包括支付宝容器,pc 和 mobile 浏览器,组件研发等

  • 对接二方服务,包括统计,鉴权等

未来三年,
  • 更多的业务有移动办公需求,小程序会继续加量

  • 更多复杂场景的出现,包括重型应用,应用集群等,WebAssembly,微前端,Module Federation 等技术会在此发挥作用

  • 标准应用中 NoCode/LowCode 的占比逐渐增大,开发者逐渐习惯这种研发方式,包括云凤蝶或更垂直的 NoCode 平台,imgcook 等

  • 需要对接的业务场景越来越多,框架层需要做取舍、收敛和适时的减法

用户体验

什么是默认好用?以及如何做到默认好用。

要有更好的用户体验,前端 + 设计师需负责,
  • 前端尺寸要小,这样页面载入更快

  • 合理的 Code Splitting、Bundle Splitting 和按需加载策略,这样重要内容载入更快

  • UI 好看,交互流畅且好用

  • 合理的缓存和预加载策略,这样页面切换更快

之前觉得 5G 来了尺寸肯定不是问题,直到我看到需要下载 60M JS 资源的页面,内网环境打开页面都要 8s+。现在的图形库、UI 库根本不把尺寸当回事。

未来三年,如果我们希望有更好的用户体验,
  • 图形库、UI 库自己得做瘦身/按需加载/正确的 tree-shaking/设计合理的按需编译

  • 更多框架层内置的性能优化方案

  • 框架接管请求层,不止是发请求,基于路由,提供缓存和预加载策略

混合研发如果成为主流,需要解沙箱满的问题,参考 tech ui 首页,换 module federation 或者坐等浏览器实现标准的沙箱环境

研发速度

这部分解如何快速完成研发,并交付上线。

各方配合,不止是框架,
  • 工具提速、框架瘦身、TS 定义等

  • 组件封装,包含 antd/antv/tech-ui

  • 数据准备,包含 oneapi

  • 交付流畅性,包含 DEMO 中心,MOCK 平台,联调最佳实践等

  • 辅助工具

未来三年,
  • 编译速度肯定会大幅提升,路肯定不止一条;重 CPU 部分会基于 Rust/Go 实现但不是整体,整体方案的终态我更倾向 npm pre-built cdn + bundless 的组合;这不止是框架/工具等事,ui 库和工具库也许合理规划和配置,不然一个项目用 5 个图形库 + 10 个依赖 antd 等库,10000+ 的文件要编译,怎么搞也是快不起来

  • 更多垂直领域高级别的封装,集成框架/UI/数据/数据流,快速产出中台应用,形态可能是平台,也可能是 ProCode;封装等级越高,开发越快,但定制越难,需权衡

  • 命令行在很多场景下不够用,借助辅助工具可进一步提效;形态有编辑器插件、Chrome 插件和 In-Context Editing

维护成本

产品不仅要开发,还要维护,何况框架和依赖库还在不断升级。

成本问题包括,
  • 新人的上手成本

  • 开发人员迭代的接手成本

  • 技术栈升级成本

未来三年,对于框架而言,
  • 降低技术栈升级成本。这需要框架有更好的顶层设计,更好的抽象,抹平底层技术栈,解 3-5 年后依赖的技术栈变更后迁移成本最小化的问题;功能方面权衡一方集成/二方提供/三方引入,设计上适度集成,适度组合,适度 eject

  • 写一样的代码。持续打磨最佳实践,方案唯一化,一不是绝对的一,而是特定场景下的一;框架支持多端适配,未来是 PC + 小程序,长远看,多套写法应该走向统一

关于本文 作者:@云谦 原文:https://mp.weixin.qq.com/s/wYbj9d3bVExfu3owx7sJuQ

@云谦曾分享过


【第1899期】调研 Federated Modules,应用秒开,应用集方案,微前端加载方案改进等


【第1783期】蚂蚁前端研发最佳实践


【PPT】umi架构、生态和未来


欢迎自荐投稿,前端早读课等你来

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存